home *** CD-ROM | disk | FTP | other *** search
Wrap
mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) NNNNAAAAMMMMEEEE mld_create, mld_destroy, process_mldlink, process_cpulink, numa_acreate - memory locality domain operations SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ppppmmmmoooo....hhhh>>>> ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____ccccrrrreeeeaaaatttteeee((((iiiinnnntttt rrrraaaaddddiiiiuuuussss,,,, lllloooonnnngggg ssssiiiizzzzeeee)))) iiiinnnntttt mmmmlllldddd____ddddeeeessssttttrrrrooooyyyy((((ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee)))) iiiinnnntttt pppprrrroooocccceeeessssssss____mmmmllllddddlllliiiinnnnkkkk((((ppppiiiidddd____tttt ppppiiiidddd,,,, ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee,,,, rrrrqqqqmmmmooooddddeeee____tttt rrrrqqqqmmmmooooddddeeee)))) iiiinnnntttt pppprrrroooocccceeeessssssss____ccccppppuuuulllliiiinnnnkkkk((((ppppiiiidddd____tttt ppppiiiidddd,,,, ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd____hhhhaaaannnnddddlllleeee,,,, ccccppppuuuuiiiidddd____tttt llllccccppppuuuuiiiidddd,,,, rrrrqqqqmmmmooooddddeeee____tttt rrrrqqqqmmmmooooddddeeee)))) vvvvooooiiiidddd**** nnnnuuuummmmaaaa____aaaaccccrrrreeeeaaaatttteeee((((ppppmmmmoooo____hhhhaaaannnnddddlllleeee____tttt mmmmlllldddd,,,, ssssiiiizzzzeeee____tttt aaaarrrreeeennnnaaaa____ssssiiiizzzzeeee,,,, ssssiiiizzzzeeee____tttt ppppaaaaggggeeee____ssssiiiizzzzeeee)))) DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee creates a memory locality domain. _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy destroys a memory locality domain. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk attaches a process to an MLD. When a process is attached to an MLD, the process scheduler tries to activate the process on a CPU in the node where the MLD has been placed. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk attaches a process to a specific CPU within the node that the MLD is placed on. The CPU number is relative to the node, for example on an Origin 3000 with a fully populated node the CPU numbering is 0-3. On an Origin 2000 with a fully populated node, the CPU numbering is 0-1. If a CPU is disabled on that node, then the CPU numbering is re-ordered at boot time to always count up consecutively from 0. For example if an Origin 3000 had a node with only 3 CPUs, the CPU numbering regardless of which CPU is disabled would be 0,1,2. This operation forces a process to always run on the same CPU using `MP_MUSTRUN' (see sysmp(2)). _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee creates an arena for memory allocation on a specific MLD. _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee will fail and a MLD will not be created if one or more of the following are true: _EEEE_FFFF_AAAA_UUUU_LLLL_TTTT Arguments could not be copied into kernel space. _EEEE_NNNN_OOOO_MMMM_EEEE_MMMM No memory or kernel table space is available to create and hold the MLD. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. PPPPaaaaggggeeee 1111 mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy will fail and no MLD will be destroyed if one or more of the following are true: _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The _mmmm_llll_dddd______hhhh_aaaa_nnnn_dddd_llll_eeee is invalid. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk will fail and the process will not be attached to an MLD if one or more of the following are true: _EEEE_DDDD_EEEE_AAAA_DDDD_LLLL_KKKK The operation would cause a deadlock to occur. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The _mmmm_llll_dddd______hhhh_aaaa_nnnn_dddd_llll_eeee is invalid or does not exist. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_SSSS_RRRR_CCCC_HHHH The specified _pppp_iiii_dddd does not exist. _EEEE_XXXX_DDDD_EEEE_VVVV The MLD has not been placed. (Call _mmmm_llll_dddd_ssss_eeee_tttt______pppp_llll_aaaa_cccc_eeee_((((_3333_cccc_)))) first.) _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk will fail and the process will not be attached to an MLD if one or more of the following are true: _EEEE_DDDD_EEEE_AAAA_DDDD_LLLL_KKKK The operation would cause a deadlock to occur. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The specified mld_handle is invalid or does not exist. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The cpulink is attempted on a CPU which was not present. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The pid is part of a Pthreaded application, which is not supported by MP_MUSTRUN. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The process is already resides on a 'mustrun' CPU and is not allowed to move to another CPU. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_PPPP_EEEE_RRRR_MMMM The user does not have adequate permission to execute the sysmp(2) system call MP_MUSTRUN command. _EEEE_PPPP_EEEE_RRRR_MMMM The cpuset does not allow the process to run on the selected MLD and CPU. _EEEE_SSSS_RRRR_CCCC_HHHH The specified _pppp_iiii_dddd does not exist. _EEEE_XXXX_DDDD_EEEE_VVVV The MLD has not been placed. (Call _mmmm_llll_dddd_ssss_eeee_tttt______pppp_llll_aaaa_cccc_eeee_((((_3333_cccc_)))) first.) PPPPaaaaggggeeee 2222 mmmmlllldddd((((3333)))) mmmmlllldddd((((3333)))) _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee will fail and no memory arena will be created (and set _eeee_rrrr_rrrr_nnnn_oooo) under the same circumstances that _aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee_((((_2222_)))) will fail. It will also fail and no memory arena will be created if one or more of the following are true: _EEEE_FFFF_AAAA_UUUU_LLLL_TTTT Arguments could not be copied into kernel space. _EEEE_IIII_NNNN_VVVV_AAAA_LLLL The specified MLD is invalid. _EEEE_NNNN_OOOO_TTTT_SSSS_UUUU_PPPP Memory locality domains are not supported on this system architecture. _EEEE_SSSS_RRRR_CCCC_HHHH The specified MLD does not exist. SSSSEEEEEEEE AAAALLLLSSSSOOOO acreate(2), numa(5), mmci(5), mldset(3c), pm(3c), amalloc(3p), sysmp(2), migration(3c), pminfo(3c). DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS Upon successful completion, _mmmm_llll_dddd______cccc_rrrr_eeee_aaaa_tttt_eeee returns a value of type pmo_handle_t. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. Upon successful completion, _mmmm_llll_dddd______dddd_eeee_ssss_tttt_rrrr_oooo_yyyy, _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______mmmm_llll_dddd_llll_iiii_nnnn_kkkk, and _pppp_rrrr_oooo_cccc_eeee_ssss_ssss______cccc_pppp_uuuu_llll_iiii_nnnn_kkkk return 0. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. Upon successful completion, _nnnn_uuuu_mmmm_aaaa______aaaa_cccc_rrrr_eeee_aaaa_tttt_eeee returns a pointer to the memory arena which has been created. Otherwise NULL will be returned and _e_r_r_n_o is set to indicate the error. PPPPaaaaggggeeee 3333